/**
 * 
 */
package quartz.listener;

import org.quartz.JobExecutionContext;
import org.quartz.Trigger;
import org.quartz.Trigger.CompletedExecutionInstruction;
import org.quartz.TriggerListener;

/**
 * 
 * 监听Trigger
 */
public class MyTriggerListener implements TriggerListener {
	private String name;

	public MyTriggerListener(String name) {
		this.name = name;
	}

	/* 
	 */
	@Override
	public String getName() {
		//名字可以通过上面的构造方法穿过来
//		String name = this.getClass().getSimpleName();
//		System.out.println("触发器名称： " + name);
		return name;
	}

	/* 
	 */
	@Override
	public void triggerFired(Trigger trigger, JobExecutionContext context) {
		String name = trigger.getKey().getName();
		System.out.println("trigger将要被执行");
	}

	/*
	 * 给了一个选择去否决job的执行，加入这个方法返回true，这个job将不会为此次trigger触发而得到执行
	 */
	@Override
	public boolean vetoJobExecution(Trigger trigger, JobExecutionContext context) {
		String name = trigger.getKey().getName();
		System.out.println(name + "没有被触发");
		return false;// true:表示不会执行job的方法
	}

	/* 
	 */
	@Override
	public void triggerMisfired(Trigger trigger) {
		String name = trigger.getKey().getName();
		System.out.println(name + ":错过触发");

	}

	/* 
	 */
	@Override
	public void triggerComplete(Trigger trigger, JobExecutionContext context,
			CompletedExecutionInstruction triggerInstructionCode) {
		String name = trigger.getKey().getName();
		System.out.println(name + ":    job完成之后触发");

	}

}
